.\" Copyright (C) 2019 VirtualSquare. Project Leader: Renzo Davoli
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License,
.\" as published by the Free Software Foundation, either version 2
.\" of the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
.\" MA 02110-1301 USA.
.\"
.\" Automatically generated by Pandoc 3.1.11
.\"
.TH "VUMOUNT" "1" "May 2024" "VirtualSquare\-VUOS" "General Commands Manual"
.SH NAME
\f[CB]vumount\f[R] \[en] mount a filesystem or a resource
.SH SYNOPSIS
\f[CB]vumount\f[R] [\f[I]options\f[R] \&...]
\f[I]source\f[R] \f[I]destination\f[R]
.SH DESCRIPTION
Everything is (or can be seen) as a file.
It is part of the philosophy of UNIX.
The file hierarchy is the global naming facility.
.PP
VUOS follows this principle: VUOS modules use \f[CB]mount\f[R](2) not
only to mount virtual filesystems but also to activate other virtual
services.
The mountpoint, \f[I]destination\f[R] in the synopsis, is the name that
will be used to identify the virtual entity/service.
.PP
For example, in \f[CB]vudev\f[R] it is possible to mount devices, in
\f[CB]vunet\f[R] the mountpoint is the name of the networking stack,
\f[CB]vustack\f[R](1) uses the path ofthe mountpoint to set the current
stack for processes.
.PP
\f[CB]vumount\f[R] is just a command interface to \f[CB]mount\f[R](2).
The \f[CB]mount\f[R](8) command is a complex tool which includes several
features like the management of /etc/fstab and /etc/mtab.
\f[CB]mount\f[R](8) is a root setuid executable and performs security
checks before the actual \f[CB]mount\f[R](2) syscall request.
\f[CB]mount\f[R](8) can be used in VUOS in place of \f[CB]vumount\f[R]
but it requires the (virtual) real uid of the executing process to be 0
(root).
e.g.\ \f[CB]vusu\f[R](1) can be used to set the virtual real uid to 0.
\f[CB]vumount\f[R] has been designed for VUOS but can be used to run the
\f[CB]mount\f[R] system call directly, without all the other management
actions provided by \f[CB]mount\f[R](8).
\f[CB]vumount\f[R] is not setuid root.
.SH OPTIONS
.TP
\f[CB]\-h\f[R], \f[CB]\-\-help\f[R]
Print a short help message and exit.
.TP
\f[CB]\-o\f[R] \f[I]list\f[R], \f[CB]\-\-options\f[R] \f[I]list\f[R]
comma\-separated list of mount options
.TP
\f[CB]\-t\f[R] \f[I]fstype\f[R], \f[CB]\-\-types\f[R] \f[I]fstype\f[R]
define the filesystem type
.TP
\f[CB]\-r\f[R], \f[CB]\-\-read\-only\f[R]
mount the filesystem read\-only (same as \-o ro)
.TP
\f[CB]\-w\f[R], \f[CB]\-\-rw\f[R], \f[CB]\-\-read\-write\f[R]
mount the filesystem read\-write (default)
.TP
\f[CB]\-B\f[R], \f[CB]\-\-bind\f[R]
mount a subtree somewhere else (same as \-o bind)
.TP
\f[CB]\-M\f[R], \f[CB]\-\-move\f[R]
move a subtree to some other place
.TP
\f[CB]\-R\f[R], \f[CB]\-\-rbind\f[R]
mount a subtree and all submounts somewhere else
.SH SEE ALSO
umvu(1), vu_insmod(1), vu_lsmod(1), vu_rmmod(1), vuumount(1), vudebug(1)
.SH AUTHOR
VirtualSquare.
Project leader: Renzo Davoli
